The use of mobile technologies is steadily on the increase, for both business and personal uses. Mobile phones are a common site today, and many people own personal information management (PIM) devices, palmtop computers, and so forth, to manage their schedules, contacts, and to stay connected with friends, family, and work. Employees on the move often appreciate the value of staying connected with their business through their mobile devices.
With such a variety of mobile devices, one can receive email messages, Instant Messaging (IM) messages, and Short Message Service (SMS) text messages, in addition to regular voice calls. Recently, the use of SMS and other forms of text messaging has become very popular. Users often send text messages to each other via their mobile devices. However, application programs can also send text messages, such as alerts, to a user's mobile device. Conversely, a user may use a mobile device to send a search request, a request for more information, or other text message to an application program. The application program can return results in another text message to the user's mobile device.
Text messages, such as SMS messages, are typically sent over a Public Land Mobile Network (PLMN) or Public Telephone Switching Network (PTSN) via Gateway Mobile Switching Centers (GMSCs). For example, a content service may send news, financial information, advertisements, or other content as a text message to a user via a public network. Similarly, one user may send a text message to another user via a public network. Messages are often received from the public network by a Short Message Service Center (SMSC) associated with the individual destination carrier, which may be used to send messages to mobile devices associated with the individual destination carrier. Sending messages from content services to end users, or sending messages to users between carriers often incurs extra costs and added complexity. Moreover, when users are roaming outside of their own network (e.g., when traveling internationally), sending messages between carriers may also incur roaming fees.
Text messages are typically routed through a public network, based on a relatively static set of criteria, such as a predefined quality of service level, a lowest cost path, or statistical analysis of prior traffic. A single carrier can also adjust message routing within its own network for individual events such as maintenance or special promotions that may affect message traffic. However, network nodes that are outside of a carrier's network may not be aware of individual events within the carrier or of events associated with an individual user. Public networks typically interface with multiple carrier networks, content provider networks, individual company networks, and other nodes, which are often not aware of each other. Public networks also typically comprise a number of sub-networks that are generally operated independently, so that the overall public network will continue to operate if a subnetwork fails. Thus, public networks typically do not have any centralized control. Consequently, public network routing typically can not be adjusted in preparation for individual events.
Some intermediary message systems provide message routing services to multiple carrier networks. But these intermediary message systems typically have only a single channel, or a single type of channel to each carrier network. Moreover, current intermediary systems typically interface only with a gateway or network edge device of each carrier network. Similarly on the opposite end, current intermediary systems often interface only with a gateway or network edge device of an application program or service provider. Current intermediary systems may receive some information about a service provider's communication interface, or may receive some information about a destination user's mobile device. But current intermediary systems typically do not receive much, if any, information regarding the application programs of a content service, or information about individual destination users. In addition, current intermediary systems generally can not forecast and pre-arrange for routing based on individual events that may affect one user, affect a subset of users on different carriers, affect one network, or affect multiple networks. Such events may include personal calendar events, network maintenance schedules, or special events that my result in a surge or trough of traffic. It is with respect to these considerations and others that the current invention is directed.